﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using UserLoging.Dtos;
using UserLoging.Models;

namespace UserLoging.Services
{
   public interface IUserRepository
    {
       Task<User> GetUserByUserLoginDtoAsync(UserLogingDto userLogingDto);
        void AddUser(User user);
        Task<bool> SaveAsync();
        Task<bool> UserExistsAsync(Guid id);
        Task<bool> UserExistsByUserNameAsync(string userName);
        Task<UserIncludeTotapage> GetUserByFindUsersinformationDtoAsync(GetFindUsersinformationDto findUsersinformationDto);
        Task<User> GetUserByUserIdAsync(Guid id);

        User EditUser(User use,EditUserFindDto editUserFindDto);
        void DeleteUser(User user);
        Task<IEnumerable<User>> GetAllUser();
        int GetPerMissionNumber(string permission);
        void UpdataUser(User user);
    }
}
